// every 0 0$1 trigger isdead ( fajfer ) do
   0: LD_EXP 3
   4: PPUSH
   5: CALL_OW 301
   9: IFFALSE 21
  11: GO 13
  13: DISABLE
// begin Youlost ( die ) ;
  14: LD_STRING die
  16: PPUSH
  17: CALL_OW 104
// end ;
  21: END
// every 0 0$1 trigger isdead ( lesiu ) do
  22: LD_EXP 1
  26: PPUSH
  27: CALL_OW 301
  31: IFFALSE 43
  33: GO 35
  35: DISABLE
// begin Youlost ( die ) ;
  36: LD_STRING die
  38: PPUSH
  39: CALL_OW 104
// end ;
  43: END
// every 0 0$1 trigger isdead ( pamel ) do
  44: LD_INT 146
  46: PPUSH
  47: CALL_OW 301
  51: IFFALSE 63
  53: GO 55
  55: DISABLE
// begin Youlost ( die ) ;
  56: LD_STRING die
  58: PPUSH
  59: CALL_OW 104
// end ;
  63: END
// every 0 0$1 trigger isdead ( eclipse ) do
  64: LD_INT 214
  66: PPUSH
  67: CALL_OW 301
  71: IFFALSE 83
  73: GO 75
  75: DISABLE
// begin Youlost ( die ) ;
  76: LD_STRING die
  78: PPUSH
  79: CALL_OW 104
// end ;
  83: END
// every 0 0$1 trigger isdead ( anti ) do
  84: LD_INT 213
  86: PPUSH
  87: CALL_OW 301
  91: IFFALSE 103
  93: GO 95
  95: DISABLE
// begin Youlost ( die ) ;
  96: LD_STRING die
  98: PPUSH
  99: CALL_OW 104
// end ;
 103: END
// every 0 0$1 trigger isdead ( kacy ) do
 104: LD_INT 215
 106: PPUSH
 107: CALL_OW 301
 111: IFFALSE 123
 113: GO 115
 115: DISABLE
// begin Youlost ( die ) ;
 116: LD_STRING die
 118: PPUSH
 119: CALL_OW 104
// end ;
 123: END
// every 0 0$1 trigger isdead ( night ) do
 124: LD_INT 216
 126: PPUSH
 127: CALL_OW 301
 131: IFFALSE 143
 133: GO 135
 135: DISABLE
// begin Youlost ( die ) ;
 136: LD_STRING die
 138: PPUSH
 139: CALL_OW 104
// end ;
 143: END
// every 0 0$1 trigger isdead ( ostra ) do
 144: LD_EXP 2
 148: PPUSH
 149: CALL_OW 301
 153: IFFALSE 165
 155: GO 157
 157: DISABLE
// begin Youlost ( die ) ;
 158: LD_STRING die
 160: PPUSH
 161: CALL_OW 104
// end ;
 165: END
// every 0 0$1 trigger isdead ( wojtek ) do
 166: LD_EXP 5
 170: PPUSH
 171: CALL_OW 301
 175: IFFALSE 187
 177: GO 179
 179: DISABLE
// begin Youlost ( die ) ;
 180: LD_STRING die
 182: PPUSH
 183: CALL_OW 104
// end ;
 187: END
// every 0 0$1 trigger isdead ( blood ) do
 188: LD_EXP 4
 192: PPUSH
 193: CALL_OW 301
 197: IFFALSE 209
 199: GO 201
 201: DISABLE
// begin Youlost ( die ) ;
 202: LD_STRING die
 204: PPUSH
 205: CALL_OW 104
// end ;
 209: END
// every 0 0$1 trigger isdead ( moralez ) do
 210: LD_EXP 6
 214: PPUSH
 215: CALL_OW 301
 219: IFFALSE 231
 221: GO 223
 223: DISABLE
// begin Youlost ( die ) ;
 224: LD_STRING die
 226: PPUSH
 227: CALL_OW 104
// end ;
 231: END
// every 0 0$1 trigger IsDead ( war ) do
 232: LD_INT 115
 234: PPUSH
 235: CALL_OW 301
 239: IFFALSE 251
 241: GO 243
 243: DISABLE
// begin YouLost ( nie ) ;
 244: LD_STRING nie
 246: PPUSH
 247: CALL_OW 104
// end ; end_of_file
 251: END
// export Lesiu , Ostra , Fajfer , Blood , Wojtek , Moralez ; export function PrepareEastLegion ; begin
 252: LD_INT 0
 254: PPUSH
// uc_side = 8 ;
 255: LD_ADDR_OWVAR 20
 259: PUSH
 260: LD_INT 8
 262: ST_TO_ADDR
// uc_nation = 1 ;
 263: LD_ADDR_OWVAR 21
 267: PUSH
 268: LD_INT 1
 270: ST_TO_ADDR
// lesiu = CreateCharacter ( lesiu ) ;
 271: LD_ADDR_EXP 1
 275: PUSH
 276: LD_STRING lesiu
 278: PPUSH
 279: CALL_OW 34
 283: ST_TO_ADDR
// PlaceUnitArea ( Lesiu , LesiuS , false ) ;
 284: LD_EXP 1
 288: PPUSH
 289: LD_INT 4
 291: PPUSH
 292: LD_INT 0
 294: PPUSH
 295: CALL_OW 49
// ostra = CreateCharacter ( ostra ) ;
 299: LD_ADDR_EXP 2
 303: PUSH
 304: LD_STRING ostra
 306: PPUSH
 307: CALL_OW 34
 311: ST_TO_ADDR
// PlaceUnitArea ( Ostra , Spawn , false ) ;
 312: LD_EXP 2
 316: PPUSH
 317: LD_INT 5
 319: PPUSH
 320: LD_INT 0
 322: PPUSH
 323: CALL_OW 49
// fajfer = CreateCharacter ( fajfer ) ;
 327: LD_ADDR_EXP 3
 331: PUSH
 332: LD_STRING fajfer
 334: PPUSH
 335: CALL_OW 34
 339: ST_TO_ADDR
// PlaceUnitArea ( Fajfer , Spawn , false ) ;
 340: LD_EXP 3
 344: PPUSH
 345: LD_INT 5
 347: PPUSH
 348: LD_INT 0
 350: PPUSH
 351: CALL_OW 49
// blood = CreateCharacter ( blood ) ;
 355: LD_ADDR_EXP 4
 359: PUSH
 360: LD_STRING blood
 362: PPUSH
 363: CALL_OW 34
 367: ST_TO_ADDR
// PlaceUnitArea ( Blood , Spawn , false ) ;
 368: LD_EXP 4
 372: PPUSH
 373: LD_INT 5
 375: PPUSH
 376: LD_INT 0
 378: PPUSH
 379: CALL_OW 49
// wojtek = CreateCharacter ( wojtek ) ;
 383: LD_ADDR_EXP 5
 387: PUSH
 388: LD_STRING wojtek
 390: PPUSH
 391: CALL_OW 34
 395: ST_TO_ADDR
// PlaceUnitArea ( Wojtek , Spawn , false ) ;
 396: LD_EXP 5
 400: PPUSH
 401: LD_INT 5
 403: PPUSH
 404: LD_INT 0
 406: PPUSH
 407: CALL_OW 49
// uc_nation = 2 ;
 411: LD_ADDR_OWVAR 21
 415: PUSH
 416: LD_INT 2
 418: ST_TO_ADDR
// moralez = CreateCharacter ( moralez ) ;
 419: LD_ADDR_EXP 6
 423: PUSH
 424: LD_STRING moralez
 426: PPUSH
 427: CALL_OW 34
 431: ST_TO_ADDR
// PlaceUnitArea ( Moralez , Spawn , false ) ;
 432: LD_EXP 6
 436: PPUSH
 437: LD_INT 5
 439: PPUSH
 440: LD_INT 0
 442: PPUSH
 443: CALL_OW 49
// ComTurnXY ( [ Lesiu , Ostra , Fajfer , Blood , Wojtek , Moralez ] , 77 , 6 ) ;
 447: LD_EXP 1
 451: PUSH
 452: LD_EXP 2
 456: PUSH
 457: LD_EXP 3
 461: PUSH
 462: LD_EXP 4
 466: PUSH
 467: LD_EXP 5
 471: PUSH
 472: LD_EXP 6
 476: PUSH
 477: EMPTY
 478: LIST
 479: LIST
 480: LIST
 481: LIST
 482: LIST
 483: LIST
 484: PPUSH
 485: LD_INT 77
 487: PPUSH
 488: LD_INT 6
 490: PPUSH
 491: CALL_OW 118
// end ;
 495: LD_VAR 0 1
 499: RET
// export function PrepareRussian ; var i , un , RuTurr , Ru1So ; begin
 500: LD_INT 0
 502: PPUSH
 503: PPUSH
 504: PPUSH
 505: PPUSH
 506: PPUSH
// uc_side = 3 ;
 507: LD_ADDR_OWVAR 20
 511: PUSH
 512: LD_INT 3
 514: ST_TO_ADDR
// uc_nation = 3 ;
 515: LD_ADDR_OWVAR 21
 519: PUSH
 520: LD_INT 3
 522: ST_TO_ADDR
// RuTurr := FilterAllUnits ( [ [ f_side , 3 ] , [ f_btype , b_bunker ] ] ) ;
 523: LD_ADDR_VAR 0 4
 527: PUSH
 528: LD_INT 22
 530: PUSH
 531: LD_INT 3
 533: PUSH
 534: EMPTY
 535: LIST
 536: LIST
 537: PUSH
 538: LD_INT 30
 540: PUSH
 541: LD_INT 32
 543: PUSH
 544: EMPTY
 545: LIST
 546: LIST
 547: PUSH
 548: EMPTY
 549: LIST
 550: LIST
 551: PPUSH
 552: CALL_OW 69
 556: ST_TO_ADDR
// for i in RuTurr do
 557: LD_ADDR_VAR 0 2
 561: PUSH
 562: LD_VAR 0 4
 566: PUSH
 567: FOR_IN
 568: IFFALSE 753
// begin if IsInUnit ( i ) = 0 then
 570: LD_VAR 0 2
 574: PPUSH
 575: CALL_OW 310
 579: PUSH
 580: LD_INT 0
 582: EQUAL
 583: IFFALSE 751
// begin uc_side = 3 ;
 585: LD_ADDR_OWVAR 20
 589: PUSH
 590: LD_INT 3
 592: ST_TO_ADDR
// uc_nation = 3 ;
 593: LD_ADDR_OWVAR 21
 597: PUSH
 598: LD_INT 3
 600: ST_TO_ADDR
// hc_gallery =  ;
 601: LD_ADDR_OWVAR 33
 605: PUSH
 606: LD_STRING 
 608: ST_TO_ADDR
// hc_name =  ;
 609: LD_ADDR_OWVAR 26
 613: PUSH
 614: LD_STRING 
 616: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
 617: LD_ADDR_OWVAR 29
 621: PUSH
 622: LD_INT 9
 624: PPUSH
 625: LD_INT 11
 627: PPUSH
 628: CALL_OW 12
 632: PUSH
 633: LD_INT 10
 635: PPUSH
 636: LD_INT 12
 638: PPUSH
 639: CALL_OW 12
 643: PUSH
 644: EMPTY
 645: LIST
 646: LIST
 647: ST_TO_ADDR
// hc_skills = [ Rand ( 3 , 5 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) ] ;
 648: LD_ADDR_OWVAR 31
 652: PUSH
 653: LD_INT 3
 655: PPUSH
 656: LD_INT 5
 658: PPUSH
 659: CALL_OW 12
 663: PUSH
 664: LD_INT 0
 666: PPUSH
 667: LD_INT 4
 669: PPUSH
 670: CALL_OW 12
 674: PUSH
 675: LD_INT 0
 677: PPUSH
 678: LD_INT 4
 680: PPUSH
 681: CALL_OW 12
 685: PUSH
 686: LD_INT 0
 688: PPUSH
 689: LD_INT 4
 691: PPUSH
 692: CALL_OW 12
 696: PUSH
 697: EMPTY
 698: LIST
 699: LIST
 700: LIST
 701: LIST
 702: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 703: LD_ADDR_OWVAR 27
 707: PUSH
 708: LD_INT 1
 710: PPUSH
 711: LD_INT 2
 713: PPUSH
 714: CALL_OW 12
 718: ST_TO_ADDR
// hc_class = 1 ;
 719: LD_ADDR_OWVAR 28
 723: PUSH
 724: LD_INT 1
 726: ST_TO_ADDR
// un := CreateHuman ;
 727: LD_ADDR_VAR 0 3
 731: PUSH
 732: CALL_OW 44
 736: ST_TO_ADDR
// PlaceHumanInUnit ( un , i ) ;
 737: LD_VAR 0 3
 741: PPUSH
 742: LD_VAR 0 2
 746: PPUSH
 747: CALL_OW 52
// end ; end ;
 751: GO 567
 753: POP
 754: POP
// for i in rubar do
 755: LD_ADDR_VAR 0 2
 759: PUSH
 760: LD_INT 295
 762: PUSH
 763: FOR_IN
 764: IFFALSE 936
// begin for i = 1 to 2 do
 766: LD_ADDR_VAR 0 2
 770: PUSH
 771: DOUBLE
 772: LD_INT 1
 774: DEC
 775: ST_TO_ADDR
 776: LD_INT 2
 778: PUSH
 779: FOR_TO
 780: IFFALSE 932
// begin hc_gallery =  ;
 782: LD_ADDR_OWVAR 33
 786: PUSH
 787: LD_STRING 
 789: ST_TO_ADDR
// hc_name =  ;
 790: LD_ADDR_OWVAR 26
 794: PUSH
 795: LD_STRING 
 797: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
 798: LD_ADDR_OWVAR 29
 802: PUSH
 803: LD_INT 9
 805: PPUSH
 806: LD_INT 11
 808: PPUSH
 809: CALL_OW 12
 813: PUSH
 814: LD_INT 10
 816: PPUSH
 817: LD_INT 12
 819: PPUSH
 820: CALL_OW 12
 824: PUSH
 825: EMPTY
 826: LIST
 827: LIST
 828: ST_TO_ADDR
// hc_skills = [ Rand ( 3 , 5 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) ] ;
 829: LD_ADDR_OWVAR 31
 833: PUSH
 834: LD_INT 3
 836: PPUSH
 837: LD_INT 5
 839: PPUSH
 840: CALL_OW 12
 844: PUSH
 845: LD_INT 0
 847: PPUSH
 848: LD_INT 4
 850: PPUSH
 851: CALL_OW 12
 855: PUSH
 856: LD_INT 0
 858: PPUSH
 859: LD_INT 4
 861: PPUSH
 862: CALL_OW 12
 866: PUSH
 867: LD_INT 0
 869: PPUSH
 870: LD_INT 4
 872: PPUSH
 873: CALL_OW 12
 877: PUSH
 878: EMPTY
 879: LIST
 880: LIST
 881: LIST
 882: LIST
 883: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 884: LD_ADDR_OWVAR 27
 888: PUSH
 889: LD_INT 1
 891: PPUSH
 892: LD_INT 2
 894: PPUSH
 895: CALL_OW 12
 899: ST_TO_ADDR
// hc_class = 1 ;
 900: LD_ADDR_OWVAR 28
 904: PUSH
 905: LD_INT 1
 907: ST_TO_ADDR
// un = CreateHuman ;
 908: LD_ADDR_VAR 0 3
 912: PUSH
 913: CALL_OW 44
 917: ST_TO_ADDR
// PlaceHumanInUnit ( un , rubar ) ;
 918: LD_VAR 0 3
 922: PPUSH
 923: LD_INT 295
 925: PPUSH
 926: CALL_OW 52
// end ;
 930: GO 779
 932: POP
 933: POP
// end ;
 934: GO 763
 936: POP
 937: POP
// for i in rufab do
 938: LD_ADDR_VAR 0 2
 942: PUSH
 943: LD_INT 286
 945: PUSH
 946: FOR_IN
 947: IFFALSE 1119
// begin for i = 1 to 6 do
 949: LD_ADDR_VAR 0 2
 953: PUSH
 954: DOUBLE
 955: LD_INT 1
 957: DEC
 958: ST_TO_ADDR
 959: LD_INT 6
 961: PUSH
 962: FOR_TO
 963: IFFALSE 1115
// begin hc_gallery =  ;
 965: LD_ADDR_OWVAR 33
 969: PUSH
 970: LD_STRING 
 972: ST_TO_ADDR
// hc_name =  ;
 973: LD_ADDR_OWVAR 26
 977: PUSH
 978: LD_STRING 
 980: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
 981: LD_ADDR_OWVAR 29
 985: PUSH
 986: LD_INT 9
 988: PPUSH
 989: LD_INT 11
 991: PPUSH
 992: CALL_OW 12
 996: PUSH
 997: LD_INT 10
 999: PPUSH
1000: LD_INT 12
1002: PPUSH
1003: CALL_OW 12
1007: PUSH
1008: EMPTY
1009: LIST
1010: LIST
1011: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 3 , 5 ) , Rand ( 0 , 4 ) ] ;
1012: LD_ADDR_OWVAR 31
1016: PUSH
1017: LD_INT 0
1019: PPUSH
1020: LD_INT 4
1022: PPUSH
1023: CALL_OW 12
1027: PUSH
1028: LD_INT 0
1030: PPUSH
1031: LD_INT 4
1033: PPUSH
1034: CALL_OW 12
1038: PUSH
1039: LD_INT 3
1041: PPUSH
1042: LD_INT 5
1044: PPUSH
1045: CALL_OW 12
1049: PUSH
1050: LD_INT 0
1052: PPUSH
1053: LD_INT 4
1055: PPUSH
1056: CALL_OW 12
1060: PUSH
1061: EMPTY
1062: LIST
1063: LIST
1064: LIST
1065: LIST
1066: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1067: LD_ADDR_OWVAR 27
1071: PUSH
1072: LD_INT 1
1074: PPUSH
1075: LD_INT 2
1077: PPUSH
1078: CALL_OW 12
1082: ST_TO_ADDR
// hc_class = 3 ;
1083: LD_ADDR_OWVAR 28
1087: PUSH
1088: LD_INT 3
1090: ST_TO_ADDR
// un = CreateHuman ;
1091: LD_ADDR_VAR 0 3
1095: PUSH
1096: CALL_OW 44
1100: ST_TO_ADDR
// PlaceHumanInUnit ( un , rufab ) ;
1101: LD_VAR 0 3
1105: PPUSH
1106: LD_INT 286
1108: PPUSH
1109: CALL_OW 52
// end ;
1113: GO 962
1115: POP
1116: POP
// end ;
1117: GO 946
1119: POP
1120: POP
// for i in rulab do
1121: LD_ADDR_VAR 0 2
1125: PUSH
1126: LD_INT 176
1128: PUSH
1129: FOR_IN
1130: IFFALSE 1302
// begin for i = 1 to 2 do
1132: LD_ADDR_VAR 0 2
1136: PUSH
1137: DOUBLE
1138: LD_INT 1
1140: DEC
1141: ST_TO_ADDR
1142: LD_INT 2
1144: PUSH
1145: FOR_TO
1146: IFFALSE 1298
// begin hc_gallery =  ;
1148: LD_ADDR_OWVAR 33
1152: PUSH
1153: LD_STRING 
1155: ST_TO_ADDR
// hc_name =  ;
1156: LD_ADDR_OWVAR 26
1160: PUSH
1161: LD_STRING 
1163: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1164: LD_ADDR_OWVAR 29
1168: PUSH
1169: LD_INT 9
1171: PPUSH
1172: LD_INT 11
1174: PPUSH
1175: CALL_OW 12
1179: PUSH
1180: LD_INT 10
1182: PPUSH
1183: LD_INT 12
1185: PPUSH
1186: CALL_OW 12
1190: PUSH
1191: EMPTY
1192: LIST
1193: LIST
1194: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 3 , 5 ) ] ;
1195: LD_ADDR_OWVAR 31
1199: PUSH
1200: LD_INT 0
1202: PPUSH
1203: LD_INT 4
1205: PPUSH
1206: CALL_OW 12
1210: PUSH
1211: LD_INT 0
1213: PPUSH
1214: LD_INT 4
1216: PPUSH
1217: CALL_OW 12
1221: PUSH
1222: LD_INT 0
1224: PPUSH
1225: LD_INT 4
1227: PPUSH
1228: CALL_OW 12
1232: PUSH
1233: LD_INT 3
1235: PPUSH
1236: LD_INT 5
1238: PPUSH
1239: CALL_OW 12
1243: PUSH
1244: EMPTY
1245: LIST
1246: LIST
1247: LIST
1248: LIST
1249: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1250: LD_ADDR_OWVAR 27
1254: PUSH
1255: LD_INT 1
1257: PPUSH
1258: LD_INT 2
1260: PPUSH
1261: CALL_OW 12
1265: ST_TO_ADDR
// hc_class = 4 ;
1266: LD_ADDR_OWVAR 28
1270: PUSH
1271: LD_INT 4
1273: ST_TO_ADDR
// un = CreateHuman ;
1274: LD_ADDR_VAR 0 3
1278: PUSH
1279: CALL_OW 44
1283: ST_TO_ADDR
// PlaceHumanInUnit ( un , rulab ) ;
1284: LD_VAR 0 3
1288: PPUSH
1289: LD_INT 176
1291: PPUSH
1292: CALL_OW 52
// end ;
1296: GO 1145
1298: POP
1299: POP
// end ;
1300: GO 1129
1302: POP
1303: POP
// for i in rudep1 do
1304: LD_ADDR_VAR 0 2
1308: PUSH
1309: LD_INT 159
1311: PUSH
1312: FOR_IN
1313: IFFALSE 1485
// begin for i = 1 to 2 do
1315: LD_ADDR_VAR 0 2
1319: PUSH
1320: DOUBLE
1321: LD_INT 1
1323: DEC
1324: ST_TO_ADDR
1325: LD_INT 2
1327: PUSH
1328: FOR_TO
1329: IFFALSE 1481
// begin hc_gallery =  ;
1331: LD_ADDR_OWVAR 33
1335: PUSH
1336: LD_STRING 
1338: ST_TO_ADDR
// hc_name =  ;
1339: LD_ADDR_OWVAR 26
1343: PUSH
1344: LD_STRING 
1346: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1347: LD_ADDR_OWVAR 29
1351: PUSH
1352: LD_INT 9
1354: PPUSH
1355: LD_INT 11
1357: PPUSH
1358: CALL_OW 12
1362: PUSH
1363: LD_INT 10
1365: PPUSH
1366: LD_INT 12
1368: PPUSH
1369: CALL_OW 12
1373: PUSH
1374: EMPTY
1375: LIST
1376: LIST
1377: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 3 , 5 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) ] ;
1378: LD_ADDR_OWVAR 31
1382: PUSH
1383: LD_INT 0
1385: PPUSH
1386: LD_INT 4
1388: PPUSH
1389: CALL_OW 12
1393: PUSH
1394: LD_INT 3
1396: PPUSH
1397: LD_INT 5
1399: PPUSH
1400: CALL_OW 12
1404: PUSH
1405: LD_INT 0
1407: PPUSH
1408: LD_INT 4
1410: PPUSH
1411: CALL_OW 12
1415: PUSH
1416: LD_INT 0
1418: PPUSH
1419: LD_INT 4
1421: PPUSH
1422: CALL_OW 12
1426: PUSH
1427: EMPTY
1428: LIST
1429: LIST
1430: LIST
1431: LIST
1432: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1433: LD_ADDR_OWVAR 27
1437: PUSH
1438: LD_INT 1
1440: PPUSH
1441: LD_INT 2
1443: PPUSH
1444: CALL_OW 12
1448: ST_TO_ADDR
// hc_class = 2 ;
1449: LD_ADDR_OWVAR 28
1453: PUSH
1454: LD_INT 2
1456: ST_TO_ADDR
// un = CreateHuman ;
1457: LD_ADDR_VAR 0 3
1461: PUSH
1462: CALL_OW 44
1466: ST_TO_ADDR
// PlaceHumanInUnit ( un , rudep1 ) ;
1467: LD_VAR 0 3
1471: PPUSH
1472: LD_INT 159
1474: PPUSH
1475: CALL_OW 52
// end ;
1479: GO 1328
1481: POP
1482: POP
// end ;
1483: GO 1312
1485: POP
1486: POP
// hc_gallery =  ;
1487: LD_ADDR_OWVAR 33
1491: PUSH
1492: LD_STRING 
1494: ST_TO_ADDR
// hc_name =  ;
1495: LD_ADDR_OWVAR 26
1499: PUSH
1500: LD_STRING 
1502: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1503: LD_ADDR_OWVAR 29
1507: PUSH
1508: LD_INT 9
1510: PPUSH
1511: LD_INT 11
1513: PPUSH
1514: CALL_OW 12
1518: PUSH
1519: LD_INT 10
1521: PPUSH
1522: LD_INT 12
1524: PPUSH
1525: CALL_OW 12
1529: PUSH
1530: EMPTY
1531: LIST
1532: LIST
1533: ST_TO_ADDR
// hc_skills = [ Rand ( 3 , 5 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) ] ;
1534: LD_ADDR_OWVAR 31
1538: PUSH
1539: LD_INT 3
1541: PPUSH
1542: LD_INT 5
1544: PPUSH
1545: CALL_OW 12
1549: PUSH
1550: LD_INT 0
1552: PPUSH
1553: LD_INT 4
1555: PPUSH
1556: CALL_OW 12
1560: PUSH
1561: LD_INT 0
1563: PPUSH
1564: LD_INT 4
1566: PPUSH
1567: CALL_OW 12
1571: PUSH
1572: LD_INT 0
1574: PPUSH
1575: LD_INT 4
1577: PPUSH
1578: CALL_OW 12
1582: PUSH
1583: EMPTY
1584: LIST
1585: LIST
1586: LIST
1587: LIST
1588: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1589: LD_ADDR_OWVAR 27
1593: PUSH
1594: LD_INT 1
1596: PPUSH
1597: LD_INT 2
1599: PPUSH
1600: CALL_OW 12
1604: ST_TO_ADDR
// hc_class = 1 ;
1605: LD_ADDR_OWVAR 28
1609: PUSH
1610: LD_INT 1
1612: ST_TO_ADDR
// Ru1So = CreateHuman ;
1613: LD_ADDR_VAR 0 5
1617: PUSH
1618: CALL_OW 44
1622: ST_TO_ADDR
// PlaceUnitArea ( Ru1So , Ru1S , false ) ;
1623: LD_VAR 0 5
1627: PPUSH
1628: LD_INT 1
1630: PPUSH
1631: LD_INT 0
1633: PPUSH
1634: CALL_OW 49
// ComEnterUnit ( Ru1So , Ru1B ) ;
1638: LD_VAR 0 5
1642: PPUSH
1643: LD_INT 356
1645: PPUSH
1646: CALL_OW 120
// end ;
1650: LD_VAR 0 1
1654: RET
// export function PrepareRussianHumanAttack ; var veh , un , l , i , RuAtTeam , Level , fabric , arx , ary , ru_units , ru_build , ru , dri , YouCanAttack , units , target1 , target2 , target3 , enemy , arlmt , piechota , mortal ; begin
1655: LD_INT 0
1657: PPUSH
1658: PPUSH
1659: PPUSH
1660: PPUSH
1661: PPUSH
1662: PPUSH
1663: PPUSH
1664: PPUSH
1665: PPUSH
1666: PPUSH
1667: PPUSH
1668: PPUSH
1669: PPUSH
1670: PPUSH
1671: PPUSH
1672: PPUSH
1673: PPUSH
1674: PPUSH
1675: PPUSH
1676: PPUSH
1677: PPUSH
1678: PPUSH
1679: PPUSH
// enable ;
1680: ENABLE
// RuAtTeam = [ ] ;
1681: LD_ADDR_VAR 0 6
1685: PUSH
1686: EMPTY
1687: ST_TO_ADDR
// uc_side = 3 ;
1688: LD_ADDR_OWVAR 20
1692: PUSH
1693: LD_INT 3
1695: ST_TO_ADDR
// uc_nation = 3 ;
1696: LD_ADDR_OWVAR 21
1700: PUSH
1701: LD_INT 3
1703: ST_TO_ADDR
// l = 0 ;
1704: LD_ADDR_VAR 0 4
1708: PUSH
1709: LD_INT 0
1711: ST_TO_ADDR
// repeat begin hc_class = 1 ;
1712: LD_ADDR_OWVAR 28
1716: PUSH
1717: LD_INT 1
1719: ST_TO_ADDR
// hc_name =  ;
1720: LD_ADDR_OWVAR 26
1724: PUSH
1725: LD_STRING 
1727: ST_TO_ADDR
// hc_gallery =  ;
1728: LD_ADDR_OWVAR 33
1732: PUSH
1733: LD_STRING 
1735: ST_TO_ADDR
// hc_sex = [ Rand ( sex_female , sex_male ) ] ;
1736: LD_ADDR_OWVAR 27
1740: PUSH
1741: LD_INT 2
1743: PPUSH
1744: LD_INT 1
1746: PPUSH
1747: CALL_OW 12
1751: PUSH
1752: EMPTY
1753: LIST
1754: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 3 ) , Rand ( 0 , 1 ) , Rand ( 2 , 4 ) , Rand ( 0 , 2 ) ] ;
1755: LD_ADDR_OWVAR 31
1759: PUSH
1760: LD_INT 1
1762: PPUSH
1763: LD_INT 3
1765: PPUSH
1766: CALL_OW 12
1770: PUSH
1771: LD_INT 0
1773: PPUSH
1774: LD_INT 1
1776: PPUSH
1777: CALL_OW 12
1781: PUSH
1782: LD_INT 2
1784: PPUSH
1785: LD_INT 4
1787: PPUSH
1788: CALL_OW 12
1792: PUSH
1793: LD_INT 0
1795: PPUSH
1796: LD_INT 2
1798: PPUSH
1799: CALL_OW 12
1803: PUSH
1804: EMPTY
1805: LIST
1806: LIST
1807: LIST
1808: LIST
1809: ST_TO_ADDR
// Piechota = CreateHuman ;
1810: LD_ADDR_VAR 0 22
1814: PUSH
1815: CALL_OW 44
1819: ST_TO_ADDR
// PlaceUnitArea ( piechota , EnemySpawn , false ) ;
1820: LD_VAR 0 22
1824: PPUSH
1825: LD_INT 8
1827: PPUSH
1828: LD_INT 0
1830: PPUSH
1831: CALL_OW 49
// RuAtTeam = RuAtTeam ^ piechota ;
1835: LD_ADDR_VAR 0 6
1839: PUSH
1840: LD_VAR 0 6
1844: PUSH
1845: LD_VAR 0 22
1849: ADD
1850: ST_TO_ADDR
// l = l + 1 ;
1851: LD_ADDR_VAR 0 4
1855: PUSH
1856: LD_VAR 0 4
1860: PUSH
1861: LD_INT 1
1863: PLUS
1864: ST_TO_ADDR
// end until l = [ 5 , 3 , 1 ] [ Difficulty ] ;
1865: LD_VAR 0 4
1869: PUSH
1870: LD_INT 5
1872: PUSH
1873: LD_INT 3
1875: PUSH
1876: LD_INT 1
1878: PUSH
1879: EMPTY
1880: LIST
1881: LIST
1882: LIST
1883: PUSH
1884: LD_OWVAR 67
1888: ARRAY
1889: EQUAL
1890: IFFALSE 1712
// Wait ( 0 0$0.3 ) ;
1892: LD_INT 10
1894: PPUSH
1895: CALL_OW 67
// arx = [ 51 ] ;
1899: LD_ADDR_VAR 0 9
1903: PUSH
1904: LD_INT 51
1906: PUSH
1907: EMPTY
1908: LIST
1909: ST_TO_ADDR
// ary = [ 84 ] ;
1910: LD_ADDR_VAR 0 10
1914: PUSH
1915: LD_INT 84
1917: PUSH
1918: EMPTY
1919: LIST
1920: ST_TO_ADDR
// if arlmt > 3 then
1921: LD_VAR 0 21
1925: PUSH
1926: LD_INT 3
1928: GREATER
1929: IFFALSE 1939
// begin arlmt = 1 ;
1931: LD_ADDR_VAR 0 21
1935: PUSH
1936: LD_INT 1
1938: ST_TO_ADDR
// end ; arlmt = arlmt + 1 ;
1939: LD_ADDR_VAR 0 21
1943: PUSH
1944: LD_VAR 0 21
1948: PUSH
1949: LD_INT 1
1951: PLUS
1952: ST_TO_ADDR
// Wait ( 0 0$01 ) ;
1953: LD_INT 35
1955: PPUSH
1956: CALL_OW 67
// repeat begin Wait ( 0 0$03 ) ;
1960: LD_INT 105
1962: PPUSH
1963: CALL_OW 67
// enemy := FilterAllUnits ( [ f_side , 8 ] ) ;
1967: LD_ADDR_VAR 0 20
1971: PUSH
1972: LD_INT 22
1974: PUSH
1975: LD_INT 8
1977: PUSH
1978: EMPTY
1979: LIST
1980: LIST
1981: PPUSH
1982: CALL_OW 69
1986: ST_TO_ADDR
// units := RuAtTeam ;
1987: LD_ADDR_VAR 0 16
1991: PUSH
1992: LD_VAR 0 6
1996: ST_TO_ADDR
// for un in units do
1997: LD_ADDR_VAR 0 3
2001: PUSH
2002: LD_VAR 0 16
2006: PUSH
2007: FOR_IN
2008: IFFALSE 2151
// begin target1 := NearestUnitToUnit ( FilterAllUnits ( [ f_side , 8 ] ) , un ) ;
2010: LD_ADDR_VAR 0 17
2014: PUSH
2015: LD_INT 22
2017: PUSH
2018: LD_INT 8
2020: PUSH
2021: EMPTY
2022: LIST
2023: LIST
2024: PPUSH
2025: CALL_OW 69
2029: PPUSH
2030: LD_VAR 0 3
2034: PPUSH
2035: CALL_OW 74
2039: ST_TO_ADDR
// target2 := NearestUnitToUnit ( FilterAllUnits ( [ [ [ f_side , 8 ] , [ f_occupied ] ] ] ) , un ) ;
2040: LD_ADDR_VAR 0 18
2044: PUSH
2045: LD_INT 22
2047: PUSH
2048: LD_INT 8
2050: PUSH
2051: EMPTY
2052: LIST
2053: LIST
2054: PUSH
2055: LD_INT 59
2057: PUSH
2058: EMPTY
2059: LIST
2060: PUSH
2061: EMPTY
2062: LIST
2063: LIST
2064: PUSH
2065: EMPTY
2066: LIST
2067: PPUSH
2068: CALL_OW 69
2072: PPUSH
2073: LD_VAR 0 3
2077: PPUSH
2078: CALL_OW 74
2082: ST_TO_ADDR
// if GetDistUnits ( un , target1 ) + 3 < GetDistUnits ( un , target2 ) then
2083: LD_VAR 0 3
2087: PPUSH
2088: LD_VAR 0 17
2092: PPUSH
2093: CALL_OW 296
2097: PUSH
2098: LD_INT 3
2100: PLUS
2101: PUSH
2102: LD_VAR 0 3
2106: PPUSH
2107: LD_VAR 0 18
2111: PPUSH
2112: CALL_OW 296
2116: LESS
2117: IFFALSE 2135
// begin ComAttackUnit ( un , target1 ) ;
2119: LD_VAR 0 3
2123: PPUSH
2124: LD_VAR 0 17
2128: PPUSH
2129: CALL_OW 115
// end else
2133: GO 2149
// begin ComAttackUnit ( un , target2 ) ;
2135: LD_VAR 0 3
2139: PPUSH
2140: LD_VAR 0 18
2144: PPUSH
2145: CALL_OW 115
// end ; end ;
2149: GO 2007
2151: POP
2152: POP
// end until RuAtTeam = [ ] ;
2153: LD_VAR 0 6
2157: PUSH
2158: EMPTY
2159: EQUAL
2160: IFFALSE 1960
// end ; end_of_file
2162: LD_VAR 0 1
2166: RET
// export Fala ; starting begin RandomizeAll ;
2167: CALL_OW 11
// Fala = 0 ;
2171: LD_ADDR_EXP 7
2175: PUSH
2176: LD_INT 0
2178: ST_TO_ADDR
// Bron = false ;
2179: LD_ADDR_EXP 17
2183: PUSH
2184: LD_INT 0
2186: ST_TO_ADDR
// Resetfog ;
2187: CALL_OW 335
// InGameOn ;
2191: CALL_OW 8
// SetBName ( dep , vip ) ;
2195: LD_INT 96
2197: PPUSH
2198: LD_STRING vip
2200: PPUSH
2201: CALL_OW 500
// SetBName ( rudep1 , rewolucja ) ;
2205: LD_INT 159
2207: PPUSH
2208: LD_STRING rewolucja
2210: PPUSH
2211: CALL_OW 500
// PrepareEastLegion ;
2215: CALL 252 0 0
// PrepareRussian ;
2219: CALL 500 0 0
// PrepareNature ;
2223: CALL 5029 0 0
// CenterNowOnUnits ( lesiu ) ;
2227: LD_EXP 1
2231: PPUSH
2232: CALL_OW 87
// Say ( wojtek , b1 ) ;
2236: LD_EXP 5
2240: PPUSH
2241: LD_STRING b1
2243: PPUSH
2244: CALL_OW 88
// ComTurnUnit ( Lesiu , Wojtek ) ;
2248: LD_EXP 1
2252: PPUSH
2253: LD_EXP 5
2257: PPUSH
2258: CALL_OW 119
// wait ( 0 0$1 ) ;
2262: LD_INT 35
2264: PPUSH
2265: CALL_OW 67
// Say ( lesiu , b2 ) ;
2269: LD_EXP 1
2273: PPUSH
2274: LD_STRING b2
2276: PPUSH
2277: CALL_OW 88
// ComTurnXY ( Lesiu , 77 , 5 ) ;
2281: LD_EXP 1
2285: PPUSH
2286: LD_INT 77
2288: PPUSH
2289: LD_INT 5
2291: PPUSH
2292: CALL_OW 118
// wait ( 0 0$1 ) ;
2296: LD_INT 35
2298: PPUSH
2299: CALL_OW 67
// Say ( lesiu , b3 ) ;
2303: LD_EXP 1
2307: PPUSH
2308: LD_STRING b3
2310: PPUSH
2311: CALL_OW 88
// ComMoveXY ( lesiu , 75 , 16 ) ;
2315: LD_EXP 1
2319: PPUSH
2320: LD_INT 75
2322: PPUSH
2323: LD_INT 16
2325: PPUSH
2326: CALL_OW 111
// Wait ( 0 0$4 ) ;
2330: LD_INT 140
2332: PPUSH
2333: CALL_OW 67
// centeronunits ( [ lesiu , pamel ] ) ;
2337: LD_EXP 1
2341: PUSH
2342: LD_INT 146
2344: PUSH
2345: EMPTY
2346: LIST
2347: LIST
2348: PPUSH
2349: CALL_OW 85
// Say ( pamel , c1 ) ;
2353: LD_INT 146
2355: PPUSH
2356: LD_STRING c1
2358: PPUSH
2359: CALL_OW 88
// wait ( 0 0$1 ) ;
2363: LD_INT 35
2365: PPUSH
2366: CALL_OW 67
// ComTurnUnit ( Lesiu , Pamel ) ;
2370: LD_EXP 1
2374: PPUSH
2375: LD_INT 146
2377: PPUSH
2378: CALL_OW 119
// ComTurnUnit ( Pamel , Lesiu ) ;
2382: LD_INT 146
2384: PPUSH
2385: LD_EXP 1
2389: PPUSH
2390: CALL_OW 119
// Say ( lesiu , c2 ) ;
2394: LD_EXP 1
2398: PPUSH
2399: LD_STRING c2
2401: PPUSH
2402: CALL_OW 88
// Say ( pamel , c3 ) ;
2406: LD_INT 146
2408: PPUSH
2409: LD_STRING c3
2411: PPUSH
2412: CALL_OW 88
// Say ( pamel , c4 ) ;
2416: LD_INT 146
2418: PPUSH
2419: LD_STRING c4
2421: PPUSH
2422: CALL_OW 88
// Say ( pamel , c5 ) ;
2426: LD_INT 146
2428: PPUSH
2429: LD_STRING c5
2431: PPUSH
2432: CALL_OW 88
// Say ( pamel , c6 ) ;
2436: LD_INT 146
2438: PPUSH
2439: LD_STRING c6
2441: PPUSH
2442: CALL_OW 88
// ComWalk ( Kacy ) ;
2446: LD_INT 215
2448: PPUSH
2449: CALL_OW 138
// AddComEnterUnit ( Kacy , k2 ) ;
2453: LD_INT 215
2455: PPUSH
2456: LD_INT 123
2458: PPUSH
2459: CALL_OW 180
// ComEnterUnit ( Anti , k4 ) ;
2463: LD_INT 213
2465: PPUSH
2466: LD_INT 134
2468: PPUSH
2469: CALL_OW 120
// Say ( lesiu , c7 ) ;
2473: LD_EXP 1
2477: PPUSH
2478: LD_STRING c7
2480: PPUSH
2481: CALL_OW 88
// Say ( pamel , c8 ) ;
2485: LD_INT 146
2487: PPUSH
2488: LD_STRING c8
2490: PPUSH
2491: CALL_OW 88
// Say ( pamel , c9 ) ;
2495: LD_INT 146
2497: PPUSH
2498: LD_STRING c9
2500: PPUSH
2501: CALL_OW 88
// Say ( lesiu , c10 ) ;
2505: LD_EXP 1
2509: PPUSH
2510: LD_STRING c10
2512: PPUSH
2513: CALL_OW 88
// Say ( pamel , c11 ) ;
2517: LD_INT 146
2519: PPUSH
2520: LD_STRING c11
2522: PPUSH
2523: CALL_OW 88
// Say ( pamel , c12 ) ;
2527: LD_INT 146
2529: PPUSH
2530: LD_STRING c12
2532: PPUSH
2533: CALL_OW 88
// Say ( lesiu , c13 ) ;
2537: LD_EXP 1
2541: PPUSH
2542: LD_STRING c13
2544: PPUSH
2545: CALL_OW 88
// Say ( pamel , c14 ) ;
2549: LD_INT 146
2551: PPUSH
2552: LD_STRING c14
2554: PPUSH
2555: CALL_OW 88
// SetSide ( Fajfer , 7 ) ;
2559: LD_EXP 3
2563: PPUSH
2564: LD_INT 7
2566: PPUSH
2567: CALL_OW 235
// wait ( 0 0$1 ) ;
2571: LD_INT 35
2573: PPUSH
2574: CALL_OW 67
// ComEnterUnit ( Fajfer , k5 ) ;
2578: LD_EXP 3
2582: PPUSH
2583: LD_INT 113
2585: PPUSH
2586: CALL_OW 120
// ComMoveXY ( [ Wojtek , Ostra , Blood , Wojtek , Moralez ] , 74 , 18 ) ;
2590: LD_EXP 5
2594: PUSH
2595: LD_EXP 2
2599: PUSH
2600: LD_EXP 4
2604: PUSH
2605: LD_EXP 5
2609: PUSH
2610: LD_EXP 6
2614: PUSH
2615: EMPTY
2616: LIST
2617: LIST
2618: LIST
2619: LIST
2620: LIST
2621: PPUSH
2622: LD_INT 74
2624: PPUSH
2625: LD_INT 18
2627: PPUSH
2628: CALL_OW 111
// AddComTurnUnit ( [ Wojtek , Ostra , Blood , Wojtek , Moralez ] , Pamel ) ;
2632: LD_EXP 5
2636: PUSH
2637: LD_EXP 2
2641: PUSH
2642: LD_EXP 4
2646: PUSH
2647: LD_EXP 5
2651: PUSH
2652: LD_EXP 6
2656: PUSH
2657: EMPTY
2658: LIST
2659: LIST
2660: LIST
2661: LIST
2662: LIST
2663: PPUSH
2664: LD_INT 146
2666: PPUSH
2667: CALL_OW 179
// wait ( 0 0$20 ) ;
2671: LD_INT 700
2673: PPUSH
2674: CALL_OW 67
// Say ( Fajfer , addon1 ) ;
2678: LD_EXP 3
2682: PPUSH
2683: LD_STRING addon1
2685: PPUSH
2686: CALL_OW 88
// InGameOff ;
2690: CALL_OW 9
// SaveForQuickRestart ;
2694: CALL_OW 22
// ChangeMissionObjectives ( C1 ) ;
2698: LD_STRING C1
2700: PPUSH
2701: CALL_OW 337
// Setside ( [ pamel , night , anti , eclipse , kacy , k1 , k2 , k3 , k4 , k5 , k6 , war , dep , Fajfer ] , 8 ) ;
2705: LD_INT 146
2707: PUSH
2708: LD_INT 216
2710: PUSH
2711: LD_INT 213
2713: PUSH
2714: LD_INT 214
2716: PUSH
2717: LD_INT 215
2719: PUSH
2720: LD_INT 143
2722: PUSH
2723: LD_INT 123
2725: PUSH
2726: LD_INT 140
2728: PUSH
2729: LD_INT 134
2731: PUSH
2732: LD_INT 113
2734: PUSH
2735: LD_INT 121
2737: PUSH
2738: LD_INT 115
2740: PUSH
2741: LD_INT 96
2743: PUSH
2744: LD_EXP 3
2748: PUSH
2749: EMPTY
2750: LIST
2751: LIST
2752: LIST
2753: LIST
2754: LIST
2755: LIST
2756: LIST
2757: LIST
2758: LIST
2759: LIST
2760: LIST
2761: LIST
2762: LIST
2763: LIST
2764: PPUSH
2765: LD_INT 8
2767: PPUSH
2768: CALL_OW 235
// wait ( 0 0$20 ) ;
2772: LD_INT 700
2774: PPUSH
2775: CALL_OW 67
// Say ( Pamel , addon4 ) ;
2779: LD_INT 146
2781: PPUSH
2782: LD_STRING addon4
2784: PPUSH
2785: CALL_OW 88
// wait ( 3 3$0 ) ;
2789: LD_INT 6300
2791: PPUSH
2792: CALL_OW 67
// ProduceNewVehicle ;
2796: CALL 4659 0 0
// end ;
2800: END
// every 1 trigger Fala = 5 do
2801: LD_EXP 7
2805: PUSH
2806: LD_INT 5
2808: EQUAL
2809: IFFALSE 2865
2811: GO 2813
2813: DISABLE
// begin SetResourceType ( GetBase ( RuDep1 ) , mat_cans , 0 ) ;
2814: LD_INT 159
2816: PPUSH
2817: CALL_OW 274
2821: PPUSH
2822: LD_INT 1
2824: PPUSH
2825: LD_INT 0
2827: PPUSH
2828: CALL_OW 277
// wait ( 1 1$0 ) ;
2832: LD_INT 2100
2834: PPUSH
2835: CALL_OW 67
// Say ( lesiu , k4 ) ;
2839: LD_EXP 1
2843: PPUSH
2844: LD_STRING k4
2846: PPUSH
2847: CALL_OW 88
// ChangeMissionObjectives ( C3 ) ;
2851: LD_STRING C3
2853: PPUSH
2854: CALL_OW 337
// ChangeMissionObjectives ( C2o ) ;
2858: LD_STRING C2o
2860: PPUSH
2861: CALL_OW 337
// end ;
2865: END
// every 0 0$1 trigger IsDead ( RuDep1 ) and IsDead ( RuDep2 ) do
2866: LD_INT 159
2868: PPUSH
2869: CALL_OW 301
2873: PUSH
2874: LD_INT 375
2876: PPUSH
2877: CALL_OW 301
2881: AND
2882: IFFALSE 3165
2884: GO 2886
2886: DISABLE
// begin InGameOn ;
2887: CALL_OW 8
// AddMedal ( med1 , 1 ) ;
2891: LD_STRING med1
2893: PPUSH
2894: LD_INT 1
2896: PPUSH
2897: CALL_OW 101
// AddMedal ( med2 , 1 ) ;
2901: LD_STRING med2
2903: PPUSH
2904: LD_INT 1
2906: PPUSH
2907: CALL_OW 101
// if Bron = true then
2911: LD_EXP 17
2915: PUSH
2916: LD_INT 1
2918: EQUAL
2919: IFFALSE 2933
// begin AddMedal ( med3 , 1 ) ;
2921: LD_STRING med3
2923: PPUSH
2924: LD_INT 1
2926: PPUSH
2927: CALL_OW 101
// end else
2931: GO 2944
// begin AddMedal ( med3 , - 1 ) ;
2933: LD_STRING med3
2935: PPUSH
2936: LD_INT 1
2938: NEG
2939: PPUSH
2940: CALL_OW 101
// end ; Say ( lesiu , k1 ) ;
2944: LD_EXP 1
2948: PPUSH
2949: LD_STRING k1
2951: PPUSH
2952: CALL_OW 88
// Say ( Pamel , k2 ) ;
2956: LD_INT 146
2958: PPUSH
2959: LD_STRING k2
2961: PPUSH
2962: CALL_OW 88
// Say ( fajfer , k3 ) ;
2966: LD_EXP 3
2970: PPUSH
2971: LD_STRING k3
2973: PPUSH
2974: CALL_OW 88
// Say ( Lesiu , addon3 ) ;
2978: LD_EXP 1
2982: PPUSH
2983: LD_STRING addon3
2985: PPUSH
2986: CALL_OW 88
// GiveMedals ( Main ) ;
2990: LD_STRING Main
2992: PPUSH
2993: CALL_OW 102
// RewardPeople ( [ lesiu , blood , fajfer , wojtek , moralez , ostra ] ) ;
2997: LD_EXP 1
3001: PUSH
3002: LD_EXP 4
3006: PUSH
3007: LD_EXP 3
3011: PUSH
3012: LD_EXP 5
3016: PUSH
3017: LD_EXP 6
3021: PUSH
3022: LD_EXP 2
3026: PUSH
3027: EMPTY
3028: LIST
3029: LIST
3030: LIST
3031: LIST
3032: LIST
3033: LIST
3034: PPUSH
3035: CALL_OW 43
// SaveCharacters ( lesiu , lesiu ) ;
3039: LD_EXP 1
3043: PPUSH
3044: LD_STRING lesiu
3046: PPUSH
3047: CALL_OW 38
// SaveCharacters ( blood , blood ) ;
3051: LD_EXP 4
3055: PPUSH
3056: LD_STRING blood
3058: PPUSH
3059: CALL_OW 38
// SaveCharacters ( fajfer , fajfer ) ;
3063: LD_EXP 3
3067: PPUSH
3068: LD_STRING fajfer
3070: PPUSH
3071: CALL_OW 38
// SaveCharacters ( wojtek , wojtek ) ;
3075: LD_EXP 5
3079: PPUSH
3080: LD_STRING wojtek
3082: PPUSH
3083: CALL_OW 38
// SaveCharacters ( moralez , moralez ) ;
3087: LD_EXP 6
3091: PPUSH
3092: LD_STRING moralez
3094: PPUSH
3095: CALL_OW 38
// SaveCharacters ( ostra , ostra ) ;
3099: LD_EXP 2
3103: PPUSH
3104: LD_STRING ostra
3106: PPUSH
3107: CALL_OW 38
// SaveCharacters ( pamel , pamel ) ;
3111: LD_INT 146
3113: PPUSH
3114: LD_STRING pamel
3116: PPUSH
3117: CALL_OW 38
// SaveCharacters ( anti , anti ) ;
3121: LD_INT 213
3123: PPUSH
3124: LD_STRING anti
3126: PPUSH
3127: CALL_OW 38
// SaveCharacters ( eclipse , eclipse ) ;
3131: LD_INT 214
3133: PPUSH
3134: LD_STRING eclipse
3136: PPUSH
3137: CALL_OW 38
// SaveCharacters ( kacy , kacy ) ;
3141: LD_INT 215
3143: PPUSH
3144: LD_STRING kacy
3146: PPUSH
3147: CALL_OW 38
// SaveCharacters ( night , night ) ;
3151: LD_INT 216
3153: PPUSH
3154: LD_STRING night
3156: PPUSH
3157: CALL_OW 38
// YouWin ;
3161: CALL_OW 103
// end ; end_of_file
3165: END
// export Crates_Amount , Crates_Creating ; every 1 1$0 trigger fala < 4 do
3166: LD_EXP 7
3170: PUSH
3171: LD_INT 4
3173: LESS
3174: IFFALSE 3259
3176: GO 3178
3178: DISABLE
// begin crates_amount := GetResourceArea ( Skrzynki , mat_cans ) ;
3179: LD_ADDR_EXP 8
3183: PUSH
3184: LD_INT 6
3186: PPUSH
3187: LD_INT 1
3189: PPUSH
3190: CALL_OW 287
3194: ST_TO_ADDR
// if crates_amount >= 30 then
3195: LD_EXP 8
3199: PUSH
3200: LD_INT 30
3202: GREATEREQUAL
3203: IFFALSE 3213
// crates_creating := false ;
3205: LD_ADDR_EXP 9
3209: PUSH
3210: LD_INT 0
3212: ST_TO_ADDR
// if crates_amount <= 1 then
3213: LD_EXP 8
3217: PUSH
3218: LD_INT 1
3220: LESSEQUAL
3221: IFFALSE 3231
// crates_creating := true ;
3223: LD_ADDR_EXP 9
3227: PUSH
3228: LD_INT 1
3230: ST_TO_ADDR
// if crates_creating then
3231: LD_EXP 9
3235: IFFALSE 3258
// CreateCratesArea ( Rand ( 1 , 5 ) , Skrzynki , true ) ;
3237: LD_INT 1
3239: PPUSH
3240: LD_INT 5
3242: PPUSH
3243: CALL_OW 12
3247: PPUSH
3248: LD_INT 6
3250: PPUSH
3251: LD_INT 1
3253: PPUSH
3254: CALL_OW 55
// enable ;
3258: ENABLE
// end ; end_of_file
3259: END
// every 0 0$01 do var un , EnginerList , buildings , depots , i ;
3260: GO 3262
3262: DISABLE
3263: LD_INT 0
3265: PPUSH
3266: PPUSH
3267: PPUSH
3268: PPUSH
3269: PPUSH
// begin enable ;
3270: ENABLE
// EnginerList := FilterAllUnits ( [ [ [ f_side , 3 ] , [ f_class , 2 ] , [ f_lives , 1000 ] ] ] ) ;
3271: LD_ADDR_VAR 0 2
3275: PUSH
3276: LD_INT 22
3278: PUSH
3279: LD_INT 3
3281: PUSH
3282: EMPTY
3283: LIST
3284: LIST
3285: PUSH
3286: LD_INT 25
3288: PUSH
3289: LD_INT 2
3291: PUSH
3292: EMPTY
3293: LIST
3294: LIST
3295: PUSH
3296: LD_INT 24
3298: PUSH
3299: LD_INT 1000
3301: PUSH
3302: EMPTY
3303: LIST
3304: LIST
3305: PUSH
3306: EMPTY
3307: LIST
3308: LIST
3309: LIST
3310: PUSH
3311: EMPTY
3312: LIST
3313: PPUSH
3314: CALL_OW 69
3318: ST_TO_ADDR
// buildings := FilterUnitsInArea ( RuBase1 , [ [ [ f_side , 3 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
3319: LD_ADDR_VAR 0 3
3323: PUSH
3324: LD_INT 3
3326: PPUSH
3327: LD_INT 22
3329: PUSH
3330: LD_INT 3
3332: PUSH
3333: EMPTY
3334: LIST
3335: LIST
3336: PUSH
3337: LD_INT 21
3339: PUSH
3340: LD_INT 3
3342: PUSH
3343: EMPTY
3344: LIST
3345: LIST
3346: PUSH
3347: LD_INT 3
3349: PUSH
3350: LD_INT 24
3352: PUSH
3353: LD_INT 1000
3355: PUSH
3356: EMPTY
3357: LIST
3358: LIST
3359: PUSH
3360: EMPTY
3361: LIST
3362: LIST
3363: PUSH
3364: EMPTY
3365: LIST
3366: LIST
3367: LIST
3368: PUSH
3369: EMPTY
3370: LIST
3371: PPUSH
3372: CALL_OW 70
3376: ST_TO_ADDR
// if buildings > 0 then
3377: LD_VAR 0 3
3381: PUSH
3382: LD_INT 0
3384: GREATER
3385: IFFALSE 3467
// begin for i = 1 to EnginerList do
3387: LD_ADDR_VAR 0 5
3391: PUSH
3392: DOUBLE
3393: LD_INT 1
3395: DEC
3396: ST_TO_ADDR
3397: LD_VAR 0 2
3401: PUSH
3402: FOR_TO
3403: IFFALSE 3465
// begin if IsInUnit ( EnginerList [ i ] ) then
3405: LD_VAR 0 2
3409: PUSH
3410: LD_VAR 0 5
3414: ARRAY
3415: PPUSH
3416: CALL_OW 310
3420: IFFALSE 3439
// ComExitBuilding ( EnginerList [ i ] ) else
3422: LD_VAR 0 2
3426: PUSH
3427: LD_VAR 0 5
3431: ARRAY
3432: PPUSH
3433: CALL_OW 122
3437: GO 3463
// ComRepairBuilding ( EnginerList [ i ] , buildings [ 1 ] ) ;
3439: LD_VAR 0 2
3443: PUSH
3444: LD_VAR 0 5
3448: ARRAY
3449: PPUSH
3450: LD_VAR 0 3
3454: PUSH
3455: LD_INT 1
3457: ARRAY
3458: PPUSH
3459: CALL_OW 130
// end ;
3463: GO 3402
3465: POP
3466: POP
// end ; if buildings = 0 then
3467: LD_VAR 0 3
3471: PUSH
3472: LD_INT 0
3474: EQUAL
3475: IFFALSE 3553
// begin for i = 1 to EnginerList do
3477: LD_ADDR_VAR 0 5
3481: PUSH
3482: DOUBLE
3483: LD_INT 1
3485: DEC
3486: ST_TO_ADDR
3487: LD_VAR 0 2
3491: PUSH
3492: FOR_TO
3493: IFFALSE 3551
// begin if not HasTask ( EnginerList [ i ] ) and not IsInUnit ( EnginerList [ i ] ) then
3495: LD_VAR 0 2
3499: PUSH
3500: LD_VAR 0 5
3504: ARRAY
3505: PPUSH
3506: CALL_OW 314
3510: NOT
3511: PUSH
3512: LD_VAR 0 2
3516: PUSH
3517: LD_VAR 0 5
3521: ARRAY
3522: PPUSH
3523: CALL_OW 310
3527: NOT
3528: AND
3529: IFFALSE 3549
// ComEnterUnit ( EnginerList [ i ] , rudep1 ) ;
3531: LD_VAR 0 2
3535: PUSH
3536: LD_VAR 0 5
3540: ARRAY
3541: PPUSH
3542: LD_INT 159
3544: PPUSH
3545: CALL_OW 120
// end ;
3549: GO 3492
3551: POP
3552: POP
// end ; end ;
3553: PPOPN 5
3555: END
// export function ResAllTechs ( side , lab ) ; var i , tech , cout ; begin
3556: LD_INT 0
3558: PPUSH
3559: PPUSH
3560: PPUSH
3561: PPUSH
// for i = 1 to 72 do
3562: LD_ADDR_VAR 0 4
3566: PUSH
3567: DOUBLE
3568: LD_INT 1
3570: DEC
3571: ST_TO_ADDR
3572: LD_INT 72
3574: PUSH
3575: FOR_TO
3576: IFFALSE 3614
// begin if GetTech ( i , side ) = state_enabled then
3578: LD_VAR 0 4
3582: PPUSH
3583: LD_VAR 0 1
3587: PPUSH
3588: CALL_OW 321
3592: PUSH
3593: LD_INT 1
3595: EQUAL
3596: IFFALSE 3612
// AddComResearch ( lab , i ) ;
3598: LD_VAR 0 2
3602: PPUSH
3603: LD_VAR 0 4
3607: PPUSH
3608: CALL_OW 184
// end ;
3612: GO 3575
3614: POP
3615: POP
// cout = cout + 1 ;
3616: LD_ADDR_VAR 0 6
3620: PUSH
3621: LD_VAR 0 6
3625: PUSH
3626: LD_INT 1
3628: PLUS
3629: ST_TO_ADDR
// Wait ( 0 0$01 ) ;
3630: LD_INT 35
3632: PPUSH
3633: CALL_OW 67
// end ;
3637: LD_VAR 0 3
3641: RET
// every 0 0$01 do
3642: GO 3644
3644: DISABLE
// begin ResAllTechs ( 3 , rulab ) ;
3645: LD_INT 3
3647: PPUSH
3648: LD_INT 176
3650: PPUSH
3651: CALL 3556 0 2
// end ;
3655: END
// every 0 0$1 trigger IsDying ( rudep1 ) or GetSide ( rudep1 ) = 8 do var SoldierList , i ;
3656: LD_INT 159
3658: PPUSH
3659: CALL_OW 303
3663: PUSH
3664: LD_INT 159
3666: PPUSH
3667: CALL_OW 255
3671: PUSH
3672: LD_INT 8
3674: EQUAL
3675: OR
3676: IFFALSE 3812
3678: GO 3680
3680: DISABLE
3681: LD_INT 0
3683: PPUSH
3684: PPUSH
// begin enable ;
3685: ENABLE
// wait ( 0 0$1 ) ;
3686: LD_INT 35
3688: PPUSH
3689: CALL_OW 67
// SoldierList := FilterAllUnits ( [ [ f_side , 3 ] , [ f_class , 1 ] ] ) ;
3693: LD_ADDR_VAR 0 1
3697: PUSH
3698: LD_INT 22
3700: PUSH
3701: LD_INT 3
3703: PUSH
3704: EMPTY
3705: LIST
3706: LIST
3707: PUSH
3708: LD_INT 25
3710: PUSH
3711: LD_INT 1
3713: PUSH
3714: EMPTY
3715: LIST
3716: LIST
3717: PUSH
3718: EMPTY
3719: LIST
3720: LIST
3721: PPUSH
3722: CALL_OW 69
3726: ST_TO_ADDR
// if SoldierList > 0 then
3727: LD_VAR 0 1
3731: PUSH
3732: LD_INT 0
3734: GREATER
3735: IFFALSE 3812
// begin for i = 1 to SoldierList do
3737: LD_ADDR_VAR 0 2
3741: PUSH
3742: DOUBLE
3743: LD_INT 1
3745: DEC
3746: ST_TO_ADDR
3747: LD_VAR 0 1
3751: PUSH
3752: FOR_TO
3753: IFFALSE 3810
// begin if IsInUnit ( SoldierList [ i ] ) then
3755: LD_VAR 0 1
3759: PUSH
3760: LD_VAR 0 2
3764: ARRAY
3765: PPUSH
3766: CALL_OW 310
3770: IFFALSE 3808
// begin ComExitBuilding ( SoldierList [ i ] ) ;
3772: LD_VAR 0 1
3776: PUSH
3777: LD_VAR 0 2
3781: ARRAY
3782: PPUSH
3783: CALL_OW 122
// AddComAgressiveMove ( SoldierList [ i ] , 39 , 54 ) ;
3787: LD_VAR 0 1
3791: PUSH
3792: LD_VAR 0 2
3796: ARRAY
3797: PPUSH
3798: LD_INT 39
3800: PPUSH
3801: LD_INT 54
3803: PPUSH
3804: CALL_OW 174
// end ; end ;
3808: GO 3752
3810: POP
3811: POP
// end ; end ;
3812: PPOPN 2
3814: END
// every 0 0$1 do var EnginerList , HealerList , i ;
3815: GO 3817
3817: DISABLE
3818: LD_INT 0
3820: PPUSH
3821: PPUSH
3822: PPUSH
// begin enable ;
3823: ENABLE
// EnginerList := FilterAllUnits ( [ [ f_side , 3 ] , [ f_class , 2 ] , [ f_not , [ f_lives , 820 ] ] ] ) ;
3824: LD_ADDR_VAR 0 1
3828: PUSH
3829: LD_INT 22
3831: PUSH
3832: LD_INT 3
3834: PUSH
3835: EMPTY
3836: LIST
3837: LIST
3838: PUSH
3839: LD_INT 25
3841: PUSH
3842: LD_INT 2
3844: PUSH
3845: EMPTY
3846: LIST
3847: LIST
3848: PUSH
3849: LD_INT 3
3851: PUSH
3852: LD_INT 24
3854: PUSH
3855: LD_INT 820
3857: PUSH
3858: EMPTY
3859: LIST
3860: LIST
3861: PUSH
3862: EMPTY
3863: LIST
3864: LIST
3865: PUSH
3866: EMPTY
3867: LIST
3868: LIST
3869: LIST
3870: PPUSH
3871: CALL_OW 69
3875: ST_TO_ADDR
// HealerList := FilterAllUnits ( [ [ f_side , 3 ] , [ f_class , 4 ] ] ) ;
3876: LD_ADDR_VAR 0 2
3880: PUSH
3881: LD_INT 22
3883: PUSH
3884: LD_INT 3
3886: PUSH
3887: EMPTY
3888: LIST
3889: LIST
3890: PUSH
3891: LD_INT 25
3893: PUSH
3894: LD_INT 4
3896: PUSH
3897: EMPTY
3898: LIST
3899: LIST
3900: PUSH
3901: EMPTY
3902: LIST
3903: LIST
3904: PPUSH
3905: CALL_OW 69
3909: ST_TO_ADDR
// if EnginerList > 0 then
3910: LD_VAR 0 1
3914: PUSH
3915: LD_INT 0
3917: GREATER
3918: IFFALSE 4083
// begin for i = 1 to EnginerList do
3920: LD_ADDR_VAR 0 3
3924: PUSH
3925: DOUBLE
3926: LD_INT 1
3928: DEC
3929: ST_TO_ADDR
3930: LD_VAR 0 1
3934: PUSH
3935: FOR_TO
3936: IFFALSE 4081
// begin ComExitBuilding ( HealerList [ 1 ] ) ;
3938: LD_VAR 0 2
3942: PUSH
3943: LD_INT 1
3945: ARRAY
3946: PPUSH
3947: CALL_OW 122
// if IsInUnit ( EnginerList [ i ] ) then
3951: LD_VAR 0 1
3955: PUSH
3956: LD_VAR 0 3
3960: ARRAY
3961: PPUSH
3962: CALL_OW 310
3966: IFFALSE 3983
// ComExitBuilding ( EnginerList [ i ] ) ;
3968: LD_VAR 0 1
3972: PUSH
3973: LD_VAR 0 3
3977: ARRAY
3978: PPUSH
3979: CALL_OW 122
// wait ( 0 0$1 ) ;
3983: LD_INT 35
3985: PPUSH
3986: CALL_OW 67
// ComMoveToArea ( EnginerList [ 1 ] , RuHealZone ) ;
3990: LD_VAR 0 1
3994: PUSH
3995: LD_INT 1
3997: ARRAY
3998: PPUSH
3999: LD_INT 7
4001: PPUSH
4002: CALL_OW 113
// if not IsInUnit ( EnginerList [ i ] ) then
4006: LD_VAR 0 1
4010: PUSH
4011: LD_VAR 0 3
4015: ARRAY
4016: PPUSH
4017: CALL_OW 310
4021: NOT
4022: IFFALSE 4042
// ComMoveToArea ( EnginerList [ i ] , RuHealZone ) ;
4024: LD_VAR 0 1
4028: PUSH
4029: LD_VAR 0 3
4033: ARRAY
4034: PPUSH
4035: LD_INT 7
4037: PPUSH
4038: CALL_OW 113
// if GetLives ( EnginerList [ i ] ) = 1000 then
4042: LD_VAR 0 1
4046: PUSH
4047: LD_VAR 0 3
4051: ARRAY
4052: PPUSH
4053: CALL_OW 256
4057: PUSH
4058: LD_INT 1000
4060: EQUAL
4061: IFFALSE 4079
// ComEnterUnit ( HealerList [ 1 ] , rulab ) ;
4063: LD_VAR 0 2
4067: PUSH
4068: LD_INT 1
4070: ARRAY
4071: PPUSH
4072: LD_INT 176
4074: PPUSH
4075: CALL_OW 120
// end ;
4079: GO 3935
4081: POP
4082: POP
// end ; end ;
4083: PPOPN 3
4085: END
// export function AddMechanic ; var un ; begin
4086: LD_INT 0
4088: PPUSH
4089: PPUSH
// uc_side = 3 ;
4090: LD_ADDR_OWVAR 20
4094: PUSH
4095: LD_INT 3
4097: ST_TO_ADDR
// uc_nation = 3 ;
4098: LD_ADDR_OWVAR 21
4102: PUSH
4103: LD_INT 3
4105: ST_TO_ADDR
// hc_gallery =  ;
4106: LD_ADDR_OWVAR 33
4110: PUSH
4111: LD_STRING 
4113: ST_TO_ADDR
// hc_name =  ;
4114: LD_ADDR_OWVAR 26
4118: PUSH
4119: LD_STRING 
4121: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 3 , 5 ) , Rand ( 0 , 4 ) ] ;
4122: LD_ADDR_OWVAR 31
4126: PUSH
4127: LD_INT 0
4129: PPUSH
4130: LD_INT 4
4132: PPUSH
4133: CALL_OW 12
4137: PUSH
4138: LD_INT 0
4140: PPUSH
4141: LD_INT 4
4143: PPUSH
4144: CALL_OW 12
4148: PUSH
4149: LD_INT 3
4151: PPUSH
4152: LD_INT 5
4154: PPUSH
4155: CALL_OW 12
4159: PUSH
4160: LD_INT 0
4162: PPUSH
4163: LD_INT 4
4165: PPUSH
4166: CALL_OW 12
4170: PUSH
4171: EMPTY
4172: LIST
4173: LIST
4174: LIST
4175: LIST
4176: ST_TO_ADDR
// hc_class = 3 ;
4177: LD_ADDR_OWVAR 28
4181: PUSH
4182: LD_INT 3
4184: ST_TO_ADDR
// un := CreateHuman ;
4185: LD_ADDR_VAR 0 2
4189: PUSH
4190: CALL_OW 44
4194: ST_TO_ADDR
// PlaceHumanInUnit ( un , rufab ) ;
4195: LD_VAR 0 2
4199: PPUSH
4200: LD_INT 286
4202: PPUSH
4203: CALL_OW 52
// end ;
4207: LD_VAR 0 1
4211: RET
// every 0 0$01 do
4212: GO 4214
4214: DISABLE
// begin enable ;
4215: ENABLE
// if cont_d = 5 then
4216: LD_EXP 11
4220: PUSH
4221: LD_INT 5
4223: EQUAL
4224: IFFALSE 4260
// begin fala = fala + 1 ;
4226: LD_ADDR_EXP 7
4230: PUSH
4231: LD_EXP 7
4235: PUSH
4236: LD_INT 1
4238: PLUS
4239: ST_TO_ADDR
// cont_d := 0 ;
4240: LD_ADDR_EXP 11
4244: PUSH
4245: LD_INT 0
4247: ST_TO_ADDR
// ProduceNewVehicle ;
4248: CALL 4659 0 0
// cont_d := 0 ;
4252: LD_ADDR_EXP 11
4256: PUSH
4257: LD_INT 0
4259: ST_TO_ADDR
// end ; end ;
4260: END
// export cont_v , cont_d , group ; every 0 0$0.1 do
4261: GO 4263
4263: DISABLE
// begin cont_v := 0 ;
4264: LD_ADDR_EXP 10
4268: PUSH
4269: LD_INT 0
4271: ST_TO_ADDR
// cont_d := 0 ;
4272: LD_ADDR_EXP 11
4276: PUSH
4277: LD_INT 0
4279: ST_TO_ADDR
// group := [ ] ;
4280: LD_ADDR_EXP 12
4284: PUSH
4285: EMPTY
4286: ST_TO_ADDR
// end ;
4287: END
// export function setneworders ; begin
4288: LD_INT 0
4290: PPUSH
// AddMechanic ;
4291: CALL 4086 0 0
// AddMechanic ;
4295: CALL 4086 0 0
// AddMechanic ;
4299: CALL 4086 0 0
// AddMechanic ;
4303: CALL 4086 0 0
// AddMechanic ;
4307: CALL 4086 0 0
// ComAgressiveMove ( group , 75 , 15 ) ;
4311: LD_EXP 12
4315: PPUSH
4316: LD_INT 75
4318: PPUSH
4319: LD_INT 15
4321: PPUSH
4322: CALL_OW 114
// PrepareRussianHumanAttack ;
4326: CALL 1655 0 0
// end ;
4330: LD_VAR 0 1
4334: RET
// every 1 do var human , veh , i ;
4335: GO 4337
4337: DISABLE
4338: LD_INT 0
4340: PPUSH
4341: PPUSH
4342: PPUSH
// begin enable ;
4343: ENABLE
// for i in FilterAllUnits ( [ [ f_side , 3 ] , [ f_class , 3 ] ] ) do
4344: LD_ADDR_VAR 0 3
4348: PUSH
4349: LD_INT 22
4351: PUSH
4352: LD_INT 3
4354: PUSH
4355: EMPTY
4356: LIST
4357: LIST
4358: PUSH
4359: LD_INT 25
4361: PUSH
4362: LD_INT 3
4364: PUSH
4365: EMPTY
4366: LIST
4367: LIST
4368: PUSH
4369: EMPTY
4370: LIST
4371: LIST
4372: PPUSH
4373: CALL_OW 69
4377: PUSH
4378: FOR_IN
4379: IFFALSE 4410
// begin if IsInArea ( i , mechyy ) then
4381: LD_VAR 0 3
4385: PPUSH
4386: LD_INT 10
4388: PPUSH
4389: CALL_OW 308
4393: IFFALSE 4408
// begin enable ;
4395: ENABLE
// ComAttackUnit ( i , dep ) ;
4396: LD_VAR 0 3
4400: PPUSH
4401: LD_INT 96
4403: PPUSH
4404: CALL_OW 115
// end ; end ;
4408: GO 4378
4410: POP
4411: POP
// enable ;
4412: ENABLE
// end ; end_of_file
4413: PPOPN 3
4415: END
// on UnitDestroyed ( un ) do begin if un in group then
4416: LD_VAR 0 1
4420: PUSH
4421: LD_EXP 12
4425: IN
4426: IFFALSE 4442
// begin cont_d := cont_d + 1 ;
4428: LD_ADDR_EXP 11
4432: PUSH
4433: LD_EXP 11
4437: PUSH
4438: LD_INT 1
4440: PLUS
4441: ST_TO_ADDR
// end ; end ;
4442: PPOPN 1
4444: END
// export v_track , v_engine , v_control , v_weapon ; on VehicleConstructed ( un , fac ) do var i ;
4445: LD_INT 0
4447: PPUSH
// begin if fac = rufab then
4448: LD_VAR 0 2
4452: PUSH
4453: LD_INT 286
4455: EQUAL
4456: IFFALSE 4599
// if GetSide ( un ) = 3 then
4458: LD_VAR 0 1
4462: PPUSH
4463: CALL_OW 255
4467: PUSH
4468: LD_INT 3
4470: EQUAL
4471: IFFALSE 4599
// begin if un in FilterAllUnits ( [ [ f_side , 3 ] , [ f_type , unit_vehicle ] ] ) then
4473: LD_VAR 0 1
4477: PUSH
4478: LD_INT 22
4480: PUSH
4481: LD_INT 3
4483: PUSH
4484: EMPTY
4485: LIST
4486: LIST
4487: PUSH
4488: LD_INT 21
4490: PUSH
4491: LD_INT 2
4493: PUSH
4494: EMPTY
4495: LIST
4496: LIST
4497: PUSH
4498: EMPTY
4499: LIST
4500: LIST
4501: PPUSH
4502: CALL_OW 69
4506: IN
4507: IFFALSE 4599
// begin cont_v := cont_v + 1 ;
4509: LD_ADDR_EXP 10
4513: PUSH
4514: LD_EXP 10
4518: PUSH
4519: LD_INT 1
4521: PLUS
4522: ST_TO_ADDR
// group := group ^ un ;
4523: LD_ADDR_EXP 12
4527: PUSH
4528: LD_EXP 12
4532: PUSH
4533: LD_VAR 0 1
4537: ADD
4538: ST_TO_ADDR
// v_track := GetChassis ( un ) ;
4539: LD_ADDR_EXP 13
4543: PUSH
4544: LD_VAR 0 1
4548: PPUSH
4549: CALL_OW 265
4553: ST_TO_ADDR
// v_engine := GetEngine ( un ) ;
4554: LD_ADDR_EXP 14
4558: PUSH
4559: LD_VAR 0 1
4563: PPUSH
4564: CALL_OW 262
4568: ST_TO_ADDR
// v_control := GetControl ( un ) ;
4569: LD_ADDR_EXP 15
4573: PUSH
4574: LD_VAR 0 1
4578: PPUSH
4579: CALL_OW 263
4583: ST_TO_ADDR
// v_weapon := GetWeapon ( un ) ;
4584: LD_ADDR_EXP 16
4588: PUSH
4589: LD_VAR 0 1
4593: PPUSH
4594: CALL_OW 264
4598: ST_TO_ADDR
// end ; end ; if cont_v = 5 then
4599: LD_EXP 10
4603: PUSH
4604: LD_INT 5
4606: EQUAL
4607: IFFALSE 4629
// begin cont_v = 0 ;
4609: LD_ADDR_EXP 10
4613: PUSH
4614: LD_INT 0
4616: ST_TO_ADDR
// SetNewOrders ;
4617: CALL 4288 0 0
// cont_v = 0 ;
4621: LD_ADDR_EXP 10
4625: PUSH
4626: LD_INT 0
4628: ST_TO_ADDR
// end ; end ;
4629: PPOPN 3
4631: END
// on VehicleCaptured ( old_veh , new_veh , old_side , lol2 ) do begin if old_side = 3 then
4632: LD_VAR 0 3
4636: PUSH
4637: LD_INT 3
4639: EQUAL
4640: IFFALSE 4656
// begin cont_d = cont_d + 1 ;
4642: LD_ADDR_EXP 11
4646: PUSH
4647: LD_EXP 11
4651: PUSH
4652: LD_INT 1
4654: PLUS
4655: ST_TO_ADDR
// end ; end ;
4656: PPOPN 4
4658: END
// export function ProduceNewVehicle ; begin
4659: LD_INT 0
4661: PPUSH
// if Difficulty = 1 then
4662: LD_OWVAR 67
4666: PUSH
4667: LD_INT 1
4669: EQUAL
4670: IFFALSE 4767
// begin Addcomconstruct ( rufab , 21 , engine_combustion , 1 , 42 ) ;
4672: LD_INT 286
4674: PPUSH
4675: LD_INT 21
4677: PPUSH
4678: LD_INT 1
4680: PPUSH
4681: LD_INT 1
4683: PPUSH
4684: LD_INT 42
4686: PPUSH
4687: CALL_OW 185
// Addcomconstruct ( rufab , 21 , engine_combustion , 1 , 42 ) ;
4691: LD_INT 286
4693: PPUSH
4694: LD_INT 21
4696: PPUSH
4697: LD_INT 1
4699: PPUSH
4700: LD_INT 1
4702: PPUSH
4703: LD_INT 42
4705: PPUSH
4706: CALL_OW 185
// Addcomconstruct ( rufab , 21 , engine_combustion , 1 , 42 ) ;
4710: LD_INT 286
4712: PPUSH
4713: LD_INT 21
4715: PPUSH
4716: LD_INT 1
4718: PPUSH
4719: LD_INT 1
4721: PPUSH
4722: LD_INT 42
4724: PPUSH
4725: CALL_OW 185
// Addcomconstruct ( rufab , 21 , engine_combustion , 1 , 42 ) ;
4729: LD_INT 286
4731: PPUSH
4732: LD_INT 21
4734: PPUSH
4735: LD_INT 1
4737: PPUSH
4738: LD_INT 1
4740: PPUSH
4741: LD_INT 42
4743: PPUSH
4744: CALL_OW 185
// Addcomconstruct ( rufab , 21 , engine_combustion , 1 , 43 ) ;
4748: LD_INT 286
4750: PPUSH
4751: LD_INT 21
4753: PPUSH
4754: LD_INT 1
4756: PPUSH
4757: LD_INT 1
4759: PPUSH
4760: LD_INT 43
4762: PPUSH
4763: CALL_OW 185
// end ; if Difficulty = 2 then
4767: LD_OWVAR 67
4771: PUSH
4772: LD_INT 2
4774: EQUAL
4775: IFFALSE 4872
// begin Addcomconstruct ( rufab , 21 , engine_combustion , 1 , 42 ) ;
4777: LD_INT 286
4779: PPUSH
4780: LD_INT 21
4782: PPUSH
4783: LD_INT 1
4785: PPUSH
4786: LD_INT 1
4788: PPUSH
4789: LD_INT 42
4791: PPUSH
4792: CALL_OW 185
// Addcomconstruct ( rufab , 22 , engine_combustion , 1 , 42 ) ;
4796: LD_INT 286
4798: PPUSH
4799: LD_INT 22
4801: PPUSH
4802: LD_INT 1
4804: PPUSH
4805: LD_INT 1
4807: PPUSH
4808: LD_INT 42
4810: PPUSH
4811: CALL_OW 185
// Addcomconstruct ( rufab , 21 , engine_combustion , 1 , 42 ) ;
4815: LD_INT 286
4817: PPUSH
4818: LD_INT 21
4820: PPUSH
4821: LD_INT 1
4823: PPUSH
4824: LD_INT 1
4826: PPUSH
4827: LD_INT 42
4829: PPUSH
4830: CALL_OW 185
// Addcomconstruct ( rufab , 22 , engine_combustion , 1 , 43 ) ;
4834: LD_INT 286
4836: PPUSH
4837: LD_INT 22
4839: PPUSH
4840: LD_INT 1
4842: PPUSH
4843: LD_INT 1
4845: PPUSH
4846: LD_INT 43
4848: PPUSH
4849: CALL_OW 185
// Addcomconstruct ( rufab , 22 , engine_combustion , 1 , 43 ) ;
4853: LD_INT 286
4855: PPUSH
4856: LD_INT 22
4858: PPUSH
4859: LD_INT 1
4861: PPUSH
4862: LD_INT 1
4864: PPUSH
4865: LD_INT 43
4867: PPUSH
4868: CALL_OW 185
// end ; if Difficulty = 3 then
4872: LD_OWVAR 67
4876: PUSH
4877: LD_INT 3
4879: EQUAL
4880: IFFALSE 4977
// begin Addcomconstruct ( rufab , 21 , engine_combustion , 1 , 43 ) ;
4882: LD_INT 286
4884: PPUSH
4885: LD_INT 21
4887: PPUSH
4888: LD_INT 1
4890: PPUSH
4891: LD_INT 1
4893: PPUSH
4894: LD_INT 43
4896: PPUSH
4897: CALL_OW 185
// Addcomconstruct ( rufab , 21 , engine_combustion , 1 , 43 ) ;
4901: LD_INT 286
4903: PPUSH
4904: LD_INT 21
4906: PPUSH
4907: LD_INT 1
4909: PPUSH
4910: LD_INT 1
4912: PPUSH
4913: LD_INT 43
4915: PPUSH
4916: CALL_OW 185
// Addcomconstruct ( rufab , 24 , engine_combustion , 1 , 43 ) ;
4920: LD_INT 286
4922: PPUSH
4923: LD_INT 24
4925: PPUSH
4926: LD_INT 1
4928: PPUSH
4929: LD_INT 1
4931: PPUSH
4932: LD_INT 43
4934: PPUSH
4935: CALL_OW 185
// Addcomconstruct ( rufab , 21 , engine_combustion , 1 , 44 ) ;
4939: LD_INT 286
4941: PPUSH
4942: LD_INT 21
4944: PPUSH
4945: LD_INT 1
4947: PPUSH
4948: LD_INT 1
4950: PPUSH
4951: LD_INT 44
4953: PPUSH
4954: CALL_OW 185
// Addcomconstruct ( rufab , 21 , engine_combustion , 1 , 44 ) ;
4958: LD_INT 286
4960: PPUSH
4961: LD_INT 21
4963: PPUSH
4964: LD_INT 1
4966: PPUSH
4967: LD_INT 1
4969: PPUSH
4970: LD_INT 44
4972: PPUSH
4973: CALL_OW 185
// end ; end ;
4977: LD_VAR 0 1
4981: RET
// export Bron ; every 0 0$1 trigger GetTech ( 69 , 8 ) = state_researched do
4982: LD_INT 69
4984: PPUSH
4985: LD_INT 8
4987: PPUSH
4988: CALL_OW 321
4992: PUSH
4993: LD_INT 2
4995: EQUAL
4996: IFFALSE 5028
4998: GO 5000
5000: DISABLE
// begin say ( fajfer , addon2 ) ;
5001: LD_EXP 3
5005: PPUSH
5006: LD_STRING addon2
5008: PPUSH
5009: CALL_OW 88
// ChangeMissionObjectives ( C4o ) ;
5013: LD_STRING C4o
5015: PPUSH
5016: CALL_OW 337
// Bron = true ;
5020: LD_ADDR_EXP 17
5024: PUSH
5025: LD_INT 1
5027: ST_TO_ADDR
// end ; end_of_file
5028: END
// export apemans , tigers , birds ; export function PrepareNature ; var l , apeman , tiger , bird ; begin
5029: LD_INT 0
5031: PPUSH
5032: PPUSH
5033: PPUSH
5034: PPUSH
5035: PPUSH
// apemans := [ ] ;
5036: LD_ADDR_EXP 18
5040: PUSH
5041: EMPTY
5042: ST_TO_ADDR
// tigers := [ ] ;
5043: LD_ADDR_EXP 19
5047: PUSH
5048: EMPTY
5049: ST_TO_ADDR
// birds := [ ] ;
5050: LD_ADDR_EXP 20
5054: PUSH
5055: EMPTY
5056: ST_TO_ADDR
// uc_nation = nation_nature ;
5057: LD_ADDR_OWVAR 21
5061: PUSH
5062: LD_INT 0
5064: ST_TO_ADDR
// uc_side = 0 ;
5065: LD_ADDR_OWVAR 20
5069: PUSH
5070: LD_INT 0
5072: ST_TO_ADDR
// l = 0 ;
5073: LD_ADDR_VAR 0 2
5077: PUSH
5078: LD_INT 0
5080: ST_TO_ADDR
// repeat begin uc_direction = Rand ( 0 , 5 ) ;
5081: LD_ADDR_OWVAR 24
5085: PUSH
5086: LD_INT 0
5088: PPUSH
5089: LD_INT 5
5091: PPUSH
5092: CALL_OW 12
5096: ST_TO_ADDR
// hc_agressivity = Rand ( 0 , 25 ) ;
5097: LD_ADDR_OWVAR 35
5101: PUSH
5102: LD_INT 0
5104: PPUSH
5105: LD_INT 25
5107: PPUSH
5108: CALL_OW 12
5112: ST_TO_ADDR
// hc_gallery =  ;
5113: LD_ADDR_OWVAR 33
5117: PUSH
5118: LD_STRING 
5120: ST_TO_ADDR
// hc_class = class_apeman ;
5121: LD_ADDR_OWVAR 28
5125: PUSH
5126: LD_INT 12
5128: ST_TO_ADDR
// hc_attr = [ Rand ( 11 , 13 ) , Rand ( 10 , 11 ) ] ;
5129: LD_ADDR_OWVAR 29
5133: PUSH
5134: LD_INT 11
5136: PPUSH
5137: LD_INT 13
5139: PPUSH
5140: CALL_OW 12
5144: PUSH
5145: LD_INT 10
5147: PPUSH
5148: LD_INT 11
5150: PPUSH
5151: CALL_OW 12
5155: PUSH
5156: EMPTY
5157: LIST
5158: LIST
5159: ST_TO_ADDR
// hc_sex = sex_male ;
5160: LD_ADDR_OWVAR 27
5164: PUSH
5165: LD_INT 1
5167: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , 0 , 0 , 0 ] ;
5168: LD_ADDR_OWVAR 31
5172: PUSH
5173: LD_INT 0
5175: PPUSH
5176: LD_INT 2
5178: PPUSH
5179: CALL_OW 12
5183: PUSH
5184: LD_INT 0
5186: PUSH
5187: LD_INT 0
5189: PUSH
5190: LD_INT 0
5192: PUSH
5193: EMPTY
5194: LIST
5195: LIST
5196: LIST
5197: LIST
5198: ST_TO_ADDR
// apeman = CreateHuman ;
5199: LD_ADDR_VAR 0 3
5203: PUSH
5204: CALL_OW 44
5208: ST_TO_ADDR
// PlaceUnitArea ( apeman , MapA , false ) ;
5209: LD_VAR 0 3
5213: PPUSH
5214: LD_INT 9
5216: PPUSH
5217: LD_INT 0
5219: PPUSH
5220: CALL_OW 49
// apemans := apemans ^ apeman ;
5224: LD_ADDR_EXP 18
5228: PUSH
5229: LD_EXP 18
5233: PUSH
5234: LD_VAR 0 3
5238: ADD
5239: ST_TO_ADDR
// l = l + 1 ;
5240: LD_ADDR_VAR 0 2
5244: PUSH
5245: LD_VAR 0 2
5249: PUSH
5250: LD_INT 1
5252: PLUS
5253: ST_TO_ADDR
// end until l = 6 ;
5254: LD_VAR 0 2
5258: PUSH
5259: LD_INT 6
5261: EQUAL
5262: IFFALSE 5081
// l = 0 ;
5264: LD_ADDR_VAR 0 2
5268: PUSH
5269: LD_INT 0
5271: ST_TO_ADDR
// repeat begin hc_agressivity = Rand ( 0 , 30 ) ;
5272: LD_ADDR_OWVAR 35
5276: PUSH
5277: LD_INT 0
5279: PPUSH
5280: LD_INT 30
5282: PPUSH
5283: CALL_OW 12
5287: ST_TO_ADDR
// hc_class = class_tiger ;
5288: LD_ADDR_OWVAR 28
5292: PUSH
5293: LD_INT 14
5295: ST_TO_ADDR
// hc_sex = sex_male ;
5296: LD_ADDR_OWVAR 27
5300: PUSH
5301: LD_INT 1
5303: ST_TO_ADDR
// hc_gallery = nature ;
5304: LD_ADDR_OWVAR 33
5308: PUSH
5309: LD_STRING nature
5311: ST_TO_ADDR
// hc_face_number = 3 ;
5312: LD_ADDR_OWVAR 34
5316: PUSH
5317: LD_INT 3
5319: ST_TO_ADDR
// tiger = CreateHuman ;
5320: LD_ADDR_VAR 0 4
5324: PUSH
5325: CALL_OW 44
5329: ST_TO_ADDR
// PlaceUnitArea ( tiger , MapA , false ) ;
5330: LD_VAR 0 4
5334: PPUSH
5335: LD_INT 9
5337: PPUSH
5338: LD_INT 0
5340: PPUSH
5341: CALL_OW 49
// tigers := tigers ^ tiger ;
5345: LD_ADDR_EXP 19
5349: PUSH
5350: LD_EXP 19
5354: PUSH
5355: LD_VAR 0 4
5359: ADD
5360: ST_TO_ADDR
// l = l + 1 ;
5361: LD_ADDR_VAR 0 2
5365: PUSH
5366: LD_VAR 0 2
5370: PUSH
5371: LD_INT 1
5373: PLUS
5374: ST_TO_ADDR
// end until l = [ 1 , 2 , 3 ] [ Difficulty ] ;
5375: LD_VAR 0 2
5379: PUSH
5380: LD_INT 1
5382: PUSH
5383: LD_INT 2
5385: PUSH
5386: LD_INT 3
5388: PUSH
5389: EMPTY
5390: LIST
5391: LIST
5392: LIST
5393: PUSH
5394: LD_OWVAR 67
5398: ARRAY
5399: EQUAL
5400: IFFALSE 5272
// l = 0 ;
5402: LD_ADDR_VAR 0 2
5406: PUSH
5407: LD_INT 0
5409: ST_TO_ADDR
// repeat begin hc_class = class_phororhacos ;
5410: LD_ADDR_OWVAR 28
5414: PUSH
5415: LD_INT 18
5417: ST_TO_ADDR
// hc_gallery = nature ;
5418: LD_ADDR_OWVAR 33
5422: PUSH
5423: LD_STRING nature
5425: ST_TO_ADDR
// hc_face_number = 1 ;
5426: LD_ADDR_OWVAR 34
5430: PUSH
5431: LD_INT 1
5433: ST_TO_ADDR
// bird = CreateHuman ;
5434: LD_ADDR_VAR 0 5
5438: PUSH
5439: CALL_OW 44
5443: ST_TO_ADDR
// PlaceUnitArea ( bird , MapA , false ) ;
5444: LD_VAR 0 5
5448: PPUSH
5449: LD_INT 9
5451: PPUSH
5452: LD_INT 0
5454: PPUSH
5455: CALL_OW 49
// birds := birds ^ bird ;
5459: LD_ADDR_EXP 20
5463: PUSH
5464: LD_EXP 20
5468: PUSH
5469: LD_VAR 0 5
5473: ADD
5474: ST_TO_ADDR
// l = l + 1 ;
5475: LD_ADDR_VAR 0 2
5479: PUSH
5480: LD_VAR 0 2
5484: PUSH
5485: LD_INT 1
5487: PLUS
5488: ST_TO_ADDR
// end until l = 4 ;
5489: LD_VAR 0 2
5493: PUSH
5494: LD_INT 4
5496: EQUAL
5497: IFFALSE 5410
// l = 0 ;
5499: LD_ADDR_VAR 0 2
5503: PUSH
5504: LD_INT 0
5506: ST_TO_ADDR
// end ;
5507: LD_VAR 0 1
5511: RET
